using System;

namespace SeaVM
{
    public class Nil
    {
        public static Data Add(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Add运算");
        }

        public static Data Add(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Add运算");
        }
        
        public static Data Add(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Add运算");
        }

        public static Data Add(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Add运算");
        }

        public static Data Sub(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Sub运算");
        }

        public static Data Sub(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Sub运算");
        }
        
        public static Data Sub(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Sub运算");
        }

        public static Data Sub(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Sub运算");
        }

        public static Data Mul(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Mul运算");
        }

        public static Data Mul(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Mul运算");
        }
        
        public static Data Mul(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Mul运算");
        }

        public static Data Mul(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Mul运算");
        }

        public static Data Div(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Div运算");
        }

        public static Data Div(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Div运算");
        }
        
        public static Data Div(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Div运算");
        }

        public static Data Div(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Div运算");
        }

        public static Data Mod(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Mod运算");
        }

        public static Data Mod(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Mod运算");
        }
        
        public static Data Mod(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Mod运算");
        }

        public static Data Mod(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Mod运算");
        }

        public static Data Gr(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Gr运算");
        }

        public static Data Gr(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Gr运算");
        }
        
        public static Data Gr(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Gr运算");
        }

        public static Data Gr(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Gr运算");
        }

        public static Data Le(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Le运算");
        }

        public static Data Le(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Le运算");
        }
        
        public static Data Le(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Le运算");
        }

        public static Data Le(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Le运算");
        }

        public static Data Eq(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Eq运算");
        }

        public static Data Eq(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Eq运算");
        }
        
        public static Data Eq(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Eq运算");
        }

        public static Data Eq(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Eq运算");
        }

        public static Data Neq(Nil a,Number b)
        {
            throw new VmTypeError("Nil类型不能和Number类型进行Neq运算");
        }

        public static Data Neq(Nil a,String b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Neq运算");
        }
        
        public static Data Neq(Nil a,Boolean b)
        {
            throw new VmTypeError("Nil类型不能和Boolean类型进行Neq运算");
        }

        public static Data Neq(Nil a,Nil b)
        {
            throw new VmTypeError("Nil类型不能和Nil类型进行Neq运算");
        }
    }
}